import pandas as pd
x=pd.read_excel('TRD_Cale.xlsx')
list1_m=[]
list2_m=[]
import numpy as np
#for m in np.arange(1,13):
#   if m<10:
#     d1='2017-0'+str(m)+'-01'
#     d2='2017-0'+str(m)+'-31'
#   else:
#     d1='2017-'+str(m)+'-01'
#     d2='2017-'+str(m)+'-31'
#   I1=x.iloc[:,1]>=d1
#   I2=x.iloc[:,1]<=d2
#   I=I1&I2
#   xs=x.iloc[I.values,[1]]['Clddt'].sort_values()
#   if len(xs)>1:
#      list1_m.append(xs.values[0])
#      list2_m.append(xs.values[len(xs)-1])
#把每一行日期对应的月份取出来
x["m"]=x["Clddt"].apply(lambda a:str(a).split("-")[1])
#按月份分组后取出每一组日期的最小值
list1_m=x.groupby("m")["Clddt"].agg("min")
#按月份分组后取出每一组日期最大值
list2_m=x.groupby("m")["Clddt"].agg("max")

data=pd.read_excel('IDX_Idxtrd.xlsx')
#以下爱计算 月收益率的方法与计算周收益率完全一致
import numpy as np
r=np.zeros(len(list1_m))
for i in range(len(list1_m)):
    p1=data.loc[data['Idxtrd01'].values==list1_m[i],'Idxtrd05'].values
    p2=data.loc[data['Idxtrd01'].values==list2_m[i],'Idxtrd05'].values
    r[i]=(p2-p1)/p1
print(r)